package ms.core.gateway.response;

import java.util.List;
import java.util.Map;

import lombok.Data;
import ms.core.gateway.bean.*;
import ms.core.gateway.utils.*;
import ms.core.tool.JsonTool;

@Data
public class SysUserVO extends SysUserBean {

	/**
	 * 性别
	 * @return
	 */
	public String getSexName() {
		switch(getSex()) {
			case 0: return SysUserBean.WOMAN;
			case 1: return SysUserBean.MAN;
		}
		return "未知";
	}

	/**
	 * 用户帐号类型名称
	 * 
	 * @return
	 */
	public String getUtypeName() {
		return DicConstUtils.codeOfValue("SYS2", "ctype", getCtype());
	}
	
	/**
	 * 帐户级别
	 * 
	 * @return
	 */
	public String getRootName() {
		return DicConstUtils.codeOfValue("SYS4", "root", getRoot());
	}
	
	/**
	 * 获取角色列表
	 */
	public List<String> getRoleList() {
		return JsonTool.jsonToListBean(getRoles(), String.class);
	}

	/**
	 * 获取功能列表
	 */
	public List<String> getFuncList() {
		return SysRoleUtils.getRoleFuncs(getCorpUid(), getRoleList());
	}

	/**
	 * 获取会员扩展资料对象
	 * 
	 * @return
	 */
	public Map<String, Object> getExtObj() {
		return JsonTool.objectToMap(getExt(), false);
	}

	public String getStateName() {
		return DicConstUtils.codeOfValue("SYS4", "state", getState());
	}
}